package com.mysoft.gfyx.workbench.service;

import com.mysoft.gfyx.workbench.controller.dto.NewTjProfitRequestDto;
import com.mysoft.gfyx.workbench.dao.entity.PermTenantProfit;
import com.mysoft.gfyx.workbench.service.dto.CheckProfitRequestDto;
import com.mysoft.gfyx.workbench.service.dto.CheckUserAdditionResponseDto;
import com.mysoft.gfyx.workbench.service.exception.InitTenantException;

import java.text.ParseException;
import java.util.List;

public interface ProfitService {
    enum Product {
        MarketReport,
        ClueRadarNationwide,
        ClueRadarProvince,
        UserAccount,
        YcgMemberAccount
    }

    void initTenant(NewTjProfitRequestDto newTjProfitRequestDto) throws InitTenantException;

    void logInitiation(NewTjProfitRequestDto request, List<String> errors, Object callbackResult);

    CheckUserAdditionResponseDto checkUserAddition() throws ParseException;

    boolean checkProductCodeEffective(String code);

    boolean PushProfitToMiniProgram() throws Exception;

    boolean pullYcgMemberProfit() throws Exception;

    List<PermTenantProfit> getProfits();
}
